// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	10/27/2014 6:44:58 PM				
// -----------------------------

#ifndef _SkyboxPass_h
#define _SkyboxPass_h

#include "RenderPass.h"

class SkyboxPass : public RenderPass
{
public:
	SkyboxPass(RenderManager* lpRenderManager, const RenderTargets& targets);
	virtual ~SkyboxPass();

	virtual void	Init(Application* lpApp);
	virtual void	Apply(Application* lpApp, Scene* lpScene);

	void			SetTexture(RefPtr<ITexture2D> lpTexture);

private:

	IVertexShader*	m_lpVertexShader;
	IPixelShader*	m_lpPixelShader;
	IInputLayout*	m_lpInputLayout;

	IBuffer*		m_lpVertexBuffer;
	IBuffer*		m_lpIndexBuffer;
	IBuffer*		m_lpMatrixBuffer;

	RefPtr<ITexture2D>	 m_lpTexture;
	ISamplerState*		 m_lpSampler;

	SkyboxPass(const SkyboxPass& refSkyboxPass);
	SkyboxPass& operator=(const SkyboxPass& refSkyboxPass);
};

#endif